Add support for client-side Git hooks and prepare-commit-msg hook #5099
+389
−19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Support executing client-side Git hooks via
ClientHookCommandsThis PR introduces a new
ClientHookCommandsmodule ingit_commandsto handle execution of Git client hooks in a consistent and Git-faithful manner. Hooks such asprepare-commit-msgare executed automatically when appropriate, and the behavior for missing or non-executable hooks mirrors Git’s defaults.New
ClientHookCommandsmodulecore.hooksPathwhen configured, falling back to the repository’s.git/hooksdirectory.Integration with commit flow
prepare-commit-msghook is invoked when no commit prefix is generated from user configuration.Fixes #4995
Please check if the PR fulfills these requirements
go generate ./...)